﻿namespace FlexPlatform.Shared.Events
{
    /// <summary>
    /// Represents the interface for an event that supports transportation of Cancellation information.
    /// </summary>
    internal interface ICancellableEventArgs : ISenderEventArgs
    {
        /// <summary>
        /// Invokes a request to cancel the change.
        /// </summary>
        void RequestToCancel();

        /// <summary>
        /// Gets whether there was any Cancel request on the action.
        /// </summary>
        bool CancelRequested { get; }
    }
}
